#ifndef TRANSITION_H_
#define TRANSITION_H_

#include <string>
#include <vector>
#include "namespaces.cpp"
#include "TransitionToPlace.h"
#include "PlaceToTransition.h"

class pn::Transition
{
	public:
		Transition();
		explicit 		Transition(const std::string&, unsigned int);
		virtual			~Transition();
		std::string		getId();
		void			setId(const std::string&);
		unsigned int	getPriority();
		void			setPriority(unsigned int);
		void			addPlaceFrom(const pn::PlaceToTransition*);
		void			addPlaceTo(const pn::TransitionToPlace*);
	protected:
		std::string 	mId;
		unsigned int	mPriority;
		std::vector<const pn::PlaceToTransition*> mPlacesFrom;
		std::vector<const pn::TransitionToPlace*> mPlacesTo;
};

#endif /*TRANSITION_H_*/
